package com.heima.model.admin.pojos;

import com.heima.model.annotation.Desensitization;
import com.heima.model.common.enums.TypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;

/**
* APP实名认证信息表
* @TableName ap_user_realname
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ApUserRealname implements Serializable {

    /**
    * 主键
    */
    @NotNull(message="[主键]不能为空")
    @ApiModelProperty("主键")
    private Integer id;
    /**
    * 账号ID
    */
    @ApiModelProperty("账号ID")
    private Integer userId;
    /**
    * 用户名称
    */
    @Size(max= 20,message="编码长度不能超过20")
    @ApiModelProperty("用户名称")
    private String name;
    /**
    * 资源名称
    */
    @Size(max= 20,message="编码长度不能超过20")
    @ApiModelProperty("资源名称")
    @Desensitization(type = TypeEnum.ID_CARD)
    private String idno;
    /**
    * 正面照片
    */
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("正面照片")
    private String fontImage;
    /**
    * 背面照片
    */
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("背面照片")
    private String backImage;
    /**
    * 手持照片
    */
    @Size(max= 100,message="编码长度不能超过100")
    @ApiModelProperty("手持照片")
    private String holdImage;
    /**
    * 活体照片
    */
    @Size(max= 255,message="编码长度不能超过255")
    @ApiModelProperty("活体照片")
    private String liveImage;
    /**
    * 状态
            0 创建中
            1 待审核
            2 审核失败
            9 审核通过
    */
    @ApiModelProperty("状态 0 创建中 1 待审核 2 审核失败 9 审核通过")
    private Integer status;
    /**
    * 拒绝原因
    */
    @Size(max= 50,message="编码长度不能超过50")
    @ApiModelProperty("拒绝原因")
    private String reason;
    /**
    * 创建时间
    */
    @ApiModelProperty("创建时间")
    private Date createdTime;
    /**
    * 提交时间
    */
    @ApiModelProperty("提交时间")
    private Date submitedTime;
    /**
    * 更新时间
    */
    @ApiModelProperty("更新时间")
    private Date updatedTime;

}
